package com.bsoft.gol.hcs.satisfaction.entity;

import com.fasterxml.jackson.annotation.JsonFormat;

import javax.persistence.*;
import java.math.BigDecimal;
import java.util.Date;

@Entity
@Table(name = "patient_satisfaction_survey")
public class PatientSatisfactionSurvey {
	private String patientSurveyId;
	private String businessType;
	private String businessId;
	private Byte routeDetailType;
	private String organizationId;
	private String organizationName;
	private String departmentId;
	private String departmentName;
	private String doctorId;
	private String doctorName;
	private String patientId;
	private String hospitalNumber;
	private String cardType;
	private String cardNumber;
	private String patientMedicalCardType;
	private String patientMedicalCardNumber;
	private String patientName;
	@JsonFormat(pattern = "yyyy-MM-dd", locale = "zh_CN", timezone = "GMT+8")
	private Date patientBirthday;
	private String patientSex;
	private Byte patientAge;
	private String telephone;
	private String address;
	private String relation;
	private String companionPhone;
	private String companionName;
	private String questionnaireId;
	private String questionnaireName;
	private String surveyWay;
	private String isNotify;
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh_CN", timezone = "GMT+8")
	private Date notifyTime;
	private String processingStatus;
	private String creatorId;
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh_CN", timezone = "GMT+8")
	private Date gmtCreate;
	private String modifyId;
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh_CN", timezone = "GMT+8")
	private Date gmtModified;
	private String surveyStatus;
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh_CN", timezone = "GMT+8")
	private Date planSurveyTime;
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh_CN", timezone = "GMT+8")
	private Date planTime;
	private String notifyStatus;
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh_CN", timezone = "GMT+8")
	private Date surveyTime;
	private String surveyId;
	private String surveyName;
	private BigDecimal surveyScore;
	private Long surveyRuleId;
	private String surveyRuleName;
	private String confirmStatus;
	private String userId;
	private String userName;
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh_CN", timezone = "GMT+8")
	private Date initiateTime;

	/**
	 * 满意度来源 1 计划调查、2临时调查、3自主扫码调查
	 */
	private String surveySource;

	@Id
	@Column(name = "patient_survey_id")
	public String getPatientSurveyId() {
		return patientSurveyId;
	}

	public void setPatientSurveyId(String patientSurveyId) {
		this.patientSurveyId = patientSurveyId;
	}

	@Basic
	@Column(name = "business_type")
	public String getBusinessType() {
		return businessType;
	}

	public void setBusinessType(String businessType) {
		this.businessType = businessType;
	}

	@Basic
	@Column(name = "business_id")
	public String getBusinessId() {
		return businessId;
	}

	public void setBusinessId(String businessId) {
		this.businessId = businessId;
	}

	@Basic
	@Column(name = "questionnaire_id")
	public String getQuestionnaireId() {
		return questionnaireId;
	}

	public void setQuestionnaireId(String questionnaireId) {
		this.questionnaireId = questionnaireId;
	}

	@Basic
	@Column(name = "questionnaire_name")
	public String getQuestionnaireName() {
		return questionnaireName;
	}

	public void setQuestionnaireName(String questionnaireName) {
		this.questionnaireName = questionnaireName;
	}

	@Basic
	@Column(name = "route_detail_type")
	public Byte getRouteDetailType() {
		return routeDetailType;
	}

	public void setRouteDetailType(Byte routeDetailType) {
		this.routeDetailType = routeDetailType;
	}

	@Basic
	@Column(name = "organization_id")
	public String getOrganizationId() {
		return organizationId;
	}

	public void setOrganizationId(String organizationId) {
		this.organizationId = organizationId;
	}

	@Basic
	@Column(name = "organization_name")
	public String getOrganizationName() {
		return organizationName;
	}

	public void setOrganizationName(String organizationName) {
		this.organizationName = organizationName;
	}

	@Basic
	@Column(name = "department_id")
	public String getDepartmentId() {
		return departmentId;
	}

	public void setDepartmentId(String departmentId) {
		this.departmentId = departmentId;
	}

	@Basic
	@Column(name = "department_name")
	public String getDepartmentName() {
		return departmentName;
	}

	public void setDepartmentName(String departmentName) {
		this.departmentName = departmentName;
	}

	@Basic
	@Column(name = "doctor_id")
	public String getDoctorId() {
		return doctorId;
	}

	public void setDoctorId(String doctorId) {
		this.doctorId = doctorId;
	}

	@Basic
	@Column(name = "doctor_name")
	public String getDoctorName() {
		return doctorName;
	}

	public void setDoctorName(String doctorName) {
		this.doctorName = doctorName;
	}

	@Basic
	@Column(name = "patient_id")
	public String getPatientId() {
		return patientId;
	}

	public void setPatientId(String patientId) {
		this.patientId = patientId;
	}

	@Basic
	@Column(name = "hospital_number")
	public String getHospitalNumber() {
		return hospitalNumber;
	}

	public void setHospitalNumber(String hospitalNumber) {
		this.hospitalNumber = hospitalNumber;
	}

	@Basic
	@Column(name = "card_type")
	public String getCardType() {
		return cardType;
	}

	public void setCardType(String cardType) {
		this.cardType = cardType;
	}

	@Basic
	@Column(name = "card_number")
	public String getCardNumber() {
		return cardNumber;
	}

	public void setCardNumber(String cardNumber) {
		this.cardNumber = cardNumber;
	}

	@Basic
	@Column(name = "patient_medical_card_type")
	public String getPatientMedicalCardType() {
		return patientMedicalCardType;
	}

	public void setPatientMedicalCardType(String patientMedicalCardType) {
		this.patientMedicalCardType = patientMedicalCardType;
	}

	@Basic
	@Column(name = "patient_medical_card_number")
	public String getPatientMedicalCardNumber() {
		return patientMedicalCardNumber;
	}

	public void setPatientMedicalCardNumber(String patientMedicalCardNumber) {
		this.patientMedicalCardNumber = patientMedicalCardNumber;
	}

	@Basic
	@Column(name = "patient_name")
	public String getPatientName() {
		return patientName;
	}

	public void setPatientName(String patientName) {
		this.patientName = patientName;
	}

	@Basic
	@Column(name = "patient_birthday")
	public Date getPatientBirthday() {
		return patientBirthday;
	}

	public void setPatientBirthday(Date patientBirthday) {
		this.patientBirthday = patientBirthday;
	}

	@Basic
	@Column(name = "patient_sex")
	public String getPatientSex() {
		return patientSex;
	}

	public void setPatientSex(String patientSex) {
		this.patientSex = patientSex;
	}

	@Basic
	@Column(name = "patient_age")
	public Byte getPatientAge() {
		return patientAge;
	}

	public void setPatientAge(Byte patientAge) {
		this.patientAge = patientAge;
	}

	@Basic
	@Column(name = "telephone")
	public String getTelephone() {
		return telephone;
	}

	public void setTelephone(String telephone) {
		this.telephone = telephone;
	}

	@Basic
	@Column(name = "address")
	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	@Basic
	@Column(name = "companion_phone")
	public String getCompanionPhone() {
		return companionPhone;
	}

	public void setCompanionPhone(String companionPhone) {
		this.companionPhone = companionPhone;
	}

	@Basic
	@Column(name = "companion_name")
	public String getCompanionName() {
		return companionName;
	}

	public void setCompanionName(String companionName) {
		this.companionName = companionName;
	}

	@Basic
	@Column(name = "survey_way")
	public String getSurveyWay() {
		return surveyWay;
	}

	public void setSurveyWay(String surveyWay) {
		this.surveyWay = surveyWay;
	}

	@Basic
	@Column(name = "is_notify")
	public String getIsNotify() {
		return isNotify;
	}

	public void setIsNotify(String isNotify) {
		this.isNotify = isNotify;
	}

	@Basic
	@Column(name = "notify_time")
	public Date getNotifyTime() {
		return notifyTime;
	}

	public void setNotifyTime(Date notifyTime) {
		this.notifyTime = notifyTime;
	}

	@Basic
	@Column(name = "processing_status")
	public String getProcessingStatus() {
		return processingStatus;
	}

	public void setProcessingStatus(String processingStatus) {
		this.processingStatus = processingStatus;
	}

	@Basic
	@Column(name = "creator_id")
	public String getCreatorId() {
		return creatorId;
	}

	public void setCreatorId(String creatorId) {
		this.creatorId = creatorId;
	}

	@Basic
	@Column(name = "gmt_create")
	public Date getGmtCreate() {
		return gmtCreate;
	}

	public void setGmtCreate(Date gmtCreate) {
		this.gmtCreate = gmtCreate;
	}

	@Basic
	@Column(name = "modify_id")
	public String getModifyId() {
		return modifyId;
	}

	public void setModifyId(String modifyId) {
		this.modifyId = modifyId;
	}

	@Basic
	@Column(name = "gmt_modified")
	public Date getGmtModified() {
		return gmtModified;
	}

	public void setGmtModified(Date gmtModified) {
		this.gmtModified = gmtModified;
	}


	@Basic
	@Column(name = "survey_status")
	public String getSurveyStatus() {
		return surveyStatus;
	}

	public void setSurveyStatus(String surveyStatus) {
		this.surveyStatus = surveyStatus;
	}

	@Basic
	@Column(name = "plan_survey_time")
	public Date getPlanSurveyTime() {
		return planSurveyTime;
	}

	public void setPlanSurveyTime(Date planSurveyTime) {
		this.planSurveyTime = planSurveyTime;
	}

	@Basic
	@Column(name = "notify_status")
	public String getNotifyStatus() {
		return notifyStatus;
	}

	public void setNotifyStatus(String notifyStatus) {
		this.notifyStatus = notifyStatus;
	}

	@Basic
	@Column(name = "survey_time")
	public Date getSurveyTime() {
		return surveyTime;
	}

	public void setSurveyTime(Date surveyTime) {
		this.surveyTime = surveyTime;
	}

	@Basic
	@Column(name = "survey_id")
	public String getSurveyId() {
		return surveyId;
	}

	public void setSurveyId(String surveyId) {
		this.surveyId = surveyId;
	}

	@Basic
	@Column(name = "survey_name")
	public String getSurveyName() {
		return surveyName;
	}

	public void setSurveyName(String surveyName) {
		this.surveyName = surveyName;
	}

	@Basic
	@Column(name = "survey_score")
	public BigDecimal getSurveyScore() {
		return surveyScore;
	}

	public void setSurveyScore(BigDecimal surveyScore) {
		this.surveyScore = surveyScore;
	}

	@Basic
	@Column(name = "survey_rule_id")
	public Long getSurveyRuleId() {
		return surveyRuleId;
	}

	public void setSurveyRuleId(Long surveyRuleId) {
		this.surveyRuleId = surveyRuleId;
	}

	@Basic
	@Column(name = "survey_rule_name")
	public String getSurveyRuleName() {
		return surveyRuleName;
	}

	public void setSurveyRuleName(String surveyRuleName) {
		this.surveyRuleName = surveyRuleName;
	}

	@Basic
	@Column(name = "confirm_status")
	public String getConfirmStatus() {
		return confirmStatus;
	}

	public void setConfirmStatus(String confirmStatus) {
		this.confirmStatus = confirmStatus;
	}

	@Basic
    @Column(name = "relation")
	public String getRelation() {
		return relation;
	}

	public void setRelation(String relation) {
		this.relation = relation;
	}

	@Basic
	@Column(name = "user_id")
	public String getUserId() {
		return userId;
	}

	public void setUserId(String userId) {
		this.userId = userId;
	}

	@Basic
	@Column(name = "user_name")
	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	@Basic
	@Column(name = "initiate_time")
	public Date getInitiateTime() {
		return initiateTime;
	}

	public void setInitiateTime(Date initiateTime) {
		this.initiateTime = initiateTime;
	}

	@Basic
	@Column(name = "survey_source")
	public String getSurveySource() {
		return surveySource;
	}

	public void setSurveySource(String surveySource) {
		this.surveySource = surveySource;
	}

	@Basic
	@Column(name = "plan_time")
	public Date getPlanTime() {
		return planTime;
	}

	public void setPlanTime(Date planTime) {
		this.planTime = planTime;
	}

	@Override
	public String toString() {
		return "PatientSatisfactionSurvey{" +
				"patientSurveyId='" + patientSurveyId + '\'' +
				", businessType='" + businessType + '\'' +
				", businessId='" + businessId + '\'' +
				", routeDetailType=" + routeDetailType +
				", organizationId='" + organizationId + '\'' +
				", organizationName='" + organizationName + '\'' +
				", departmentId='" + departmentId + '\'' +
				", departmentName='" + departmentName + '\'' +
				", doctorId='" + doctorId + '\'' +
				", doctorName='" + doctorName + '\'' +
				", patientId='" + patientId + '\'' +
				", hospitalNumber='" + hospitalNumber + '\'' +
				", cardType='" + cardType + '\'' +
				", cardNumber='" + cardNumber + '\'' +
				", patientMedicalCardType='" + patientMedicalCardType + '\'' +
				", patientMedicalCardNumber='" + patientMedicalCardNumber + '\'' +
				", patientName='" + patientName + '\'' +
				", patientBirthday=" + patientBirthday +
				", patientSex='" + patientSex + '\'' +
				", patientAge=" + patientAge +
				", telephone='" + telephone + '\'' +
				", address='" + address + '\'' +
				", relation='" + relation + '\'' +
				", companionPhone='" + companionPhone + '\'' +
				", companionName='" + companionName + '\'' +
				", surveyWay='" + surveyWay + '\'' +
				", isNotify='" + isNotify + '\'' +
				", notifyTime=" + notifyTime +
				", processingStatus='" + processingStatus + '\'' +
				", creatorId='" + creatorId + '\'' +
				", gmtCreate=" + gmtCreate +
				", modifyId='" + modifyId + '\'' +
				", gmtModified=" + gmtModified +
				", surveyStatus='" + surveyStatus + '\'' +
				", planSurveyTime=" + planSurveyTime +
				", planTime=" + planTime +
				", notifyStatus='" + notifyStatus + '\'' +
				", surveyTime=" + surveyTime +
				", surveyId='" + surveyId + '\'' +
				", surveyName='" + surveyName + '\'' +
				", surveyScore=" + surveyScore +
				", surveyRuleId=" + surveyRuleId +
				", surveyRuleName='" + surveyRuleName + '\'' +
				", confirmStatus='" + confirmStatus + '\'' +
				", userId='" + userId + '\'' +
				", userName='" + userName + '\'' +
				", initiateTime=" + initiateTime +
				", surveySource='" + surveySource + '\'' +
				'}';
	}
}
